/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itschapala.sdw2.vista;

import java.util.Date;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.itschapala.dsw2.biblioteca8a.bl.AutorBlLocal;
import mx.itschapala.dsw2.biblioteca8a.bl.LibroblLocal;
import mx.itschapala.dsw2.biblioteca8a.modelo.Autor;
import mx.itschapala.dsw2.biblioteca8a.modelo.Libro;

/**
 *
 * @author Maricela
 */
@ManagedBean
@SessionScoped
public class BookBean {
    @EJB
    private AutorBlLocal autorBl;
 //---------- EJB--------------------
    @EJB
    private LibroblLocal librobl;
//---------- Variables---------------
    private List<Libro> lista;
    private List<Autor> listaAutores;
    private Libro book;
    private int idAutorSeleccionado;
    private String accion;
    private Date date2;
//---------- Constructor------------
    public BookBean() {
    book = new Libro ();
    }
 ///--------- Metodos Get y Set-------
    public Date getDate2() {  
        return date2;  
    }  
  
    public void setDate2(Date date2) {  
        this.date2 = date2;  
    }  
     public List<Autor> getListaAutores() {
         listaAutores=autorBl.getAll();
        return listaAutores;
    }
     public List<Libro> getLista() {
        lista=librobl.getAll();
        return lista;
    }

    public Libro getBook() {
        return book;
    }

    public void setBook(Libro book) {
        this.book = book;
    }
     public int getIdAutorSeleccionado() {
        return idAutorSeleccionado;
    }

    public void setIdAutorSeleccionado(int idAutorSeleccionado) {
        this.idAutorSeleccionado = idAutorSeleccionado;
    }
    //---------- Acciones----------------
    public String procesarAccion (){
    if (accion.equalsIgnoreCase("Nuevo")){
    librobl.register(book);
    }else {
        if (accion.equalsIgnoreCase("Editar")){
    librobl.modify(book);
    }else if (accion.equalsIgnoreCase("Eliminar")){
    librobl.delete(book);
    }
    }
    accion ="";
    return "Libro";
    
    }
//---------- Listeners---------------
     public void prepararNuevo (ActionEvent evt){
    book= new Libro ();
    accion="Nuevo";
    }
    public void prepararEditar (ActionEvent evt){
//        int index=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
//        System.out.println(index);
//        book = lista.get(index);
        accion = "Editar";
    }
    
    public void prepararEliminar (ActionEvent evt){
//        int index=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
//        System.out.println(index);
//        book = lista.get(index);
        accion = "Eliminar";
    }  
    public String preparaautor (){
        book.setIdautor(autorBl.findById(idAutorSeleccionado));
        return "LibroConfirmar";
    }
    //lista de libros

   
    
}
